"""
加密注解模块
提供标记敏感字段的装饰器
"""

def encrypt(cls):
    """
    类装饰器，标记类需要加密
    
    Args:
        cls: 被装饰的类
        
    Returns:
        被装饰的类，添加了_encrypt_flag属性
    """
    cls._encrypt_flag = True
    return cls

def decrypt(cls):
    """
    类装饰器，标记类需要解密
    
    Args:
        cls: 被装饰的类
        
    Returns:
        被装饰的类，添加了_decrypt_flag属性
    """
    cls._decrypt_flag = True
    return cls

def sensitive_field(field_name=None):
    """
    字段装饰器工厂函数，标记敏感字段
    
    Args:
        field_name: 字段名，如果为None则使用方法名
        
    Returns:
        装饰器函数
    """
    def decorator(func):
        func._sensitive_field = True
        func._field_name = field_name or func.__name__
        return func
    return decorator 